load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

package(default_visibility = ["//:__subpackages__"])  # keep

licenses(["notice"])  # keep

go_library(
    name = "streamingprf",
    srcs = [
        "hkdf_streaming_prf.go",
        "hkdf_streaming_prf_key_manager.go",
        "streaming_prf.go",
        "streaming_prf_factory.go",
    ],
    importpath = "github.com/google/tink/go/keyderivation/internal/streamingprf",
    deps = [
        "//core/primitiveset",
        "//core/registry",
        "//keyset",
        "//proto/common_go_proto",
        "//proto/hkdf_prf_go_proto",
        "//proto/tink_go_proto",
        "//subtle",
        "@org_golang_google_protobuf//proto",
        "@org_golang_x_crypto//hkdf",
    ],
)

go_test(
    name = "streamingprf_test",
    srcs = [
        "hkdf_streaming_prf_key_manager_test.go",
        "hkdf_streaming_prf_test.go",
        "streaming_prf_factory_test.go",
        "streaming_prf_test.go",
    ],
    data = ["//testdata/testvectors:kdf"],
    embed = [":streamingprf"],
    deps = [
        "//aead",
        "//core/registry",
        "//keyset",
        "//prf",
        "//proto/aes_gcm_go_proto",
        "//proto/common_go_proto",
        "//proto/hkdf_prf_go_proto",
        "//proto/tink_go_proto",
        "//subtle/random",
        "//testkeyset",
        "//testutil",
        "@org_golang_google_protobuf//proto",
    ],
)

alias(
    name = "go_default_library",
    actual = ":streamingprf",
    visibility = ["//:__subpackages__"],
)
